package ca.uqac.dim.turtledb.physical;

/**
 * User: damien
 * Date: 12-12-02
 * Time: 01:26
 * <p/>
 * Un lien relie 2 sites
 * Un lien n'a pas de nom
 * Un lien  défini un coût de communication (par tuple)
 * <p/>
 * Limite ! Le cout de communication est le même dans les deux sens
 * <p/>
 * Le lien est l'arc dans le graph physique
 */
public class Link extends Network.NetworkMember {
    private Site siteGauche;
    private Site siteDroit;
    private int coutDeCommunicationUnitaire;

    public Link(Site siteGauche, Site siteDroit, int coutDeCommunicationUnitaire) {
        this.siteGauche = siteGauche;
        siteGauche.addLien(this);
        this.siteDroit = siteDroit;
        siteDroit.addLien(this);
        this.coutDeCommunicationUnitaire = coutDeCommunicationUnitaire;
    }

    public Site getSiteGauche() {
        return siteGauche;
    }

    public Site getSiteDroit() {
        return siteDroit;
    }

    public float getCoutDeCommunicationUnitaire() {
        return coutDeCommunicationUnitaire;
    }
}
